package com.wzh.store.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Author wzh
 * @create 2022/4/15 17:04
 * @Description： 定义一个拦截器，aop面向切面来编程
 */
public class LoginInterceptor implements HandlerInterceptor {
    /**
     *检测全局session对象中是否有uid数据，如果有则放行，没有的话则重定向到登录页面
     * @param request 请求对象
     * @param response 响应对象
     * @param handler 处理器（url+controller :映射)
     * @return 如果返回值为true表示放行当前请求，如果返回值为FALSE表示拦截,根据session的值进行动态的设置返回值
     * @throws Exception
     */
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler) throws Exception {
        Object uid = request.getSession().getAttribute("uid");
        if(uid==null){
            response.sendRedirect("/web/login.html");
            return false;
        }else
            return true;
    }
}
